#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;

class Solution
{
private:


public:
    // 大整数乘法
    string multiply(string num1, string num2) {
        int len_a = num1.size(),len_b = num2.size();
        if(len_a == 0 || len_b == 0){
            return "";
        }
        if(num1 == "0" || num2 == "0"){
            return "0";
        }
        string ans = "";
        vector<int> vec(len_a+len_b,0);
        for(int i = len_a-1;i>=0;i--){
            for(int j =len_b-1;j>=0;j--){
                int tmp = (num1[i]-'0')*(num2[j]-'0');
                tmp += vec[i+j+1]; // 低位的进位
                vec[i+j] += tmp /10; // 进位
                vec[i+j+1] = tmp%10; // 当前位
            }
        }

        // 将vector转字符串 去除前导0
        int i=0;
        while(i<vec.size() && vec[i]==0){
            i++;
        }
        for(;i<vec.size();i++)
            ans += to_string(vec[i]);
        return ans;
    }
};

int main()
{
    Solution solu = Solution();
    cout<<solu.multiply("0","0");    
    int i = 1;
    return 0;
}